#!/bin/bash

# --- Gemini CLI 最终版启动脚本 (v5 - 终极简化版) ---
# 最终思路：不再画蛇添足。现代的GGUF模型都内置了聊天模板，
# llama-cli 会自动使用它们。我们只需要提供核心运行参数即可。

# 确保脚本从其所在目录运行
cd "$(dirname "$0")"

# --- 步骤 1: 查找并让用户选择模型 ---
echo "🔎 正在检测模型文件..."
models=()
for f in *.gguf; do
    if [ "$f" != "model.gguf" ]; then
        models+=("$f")
    fi
done

if [ ${#models[@]} -eq 0 ]; then
    echo "❌ 错误: 在当前目录下没有找到任何真实的 .gguf 模型文件。"
    exit 1
fi

PS3="
👉 请输入数字来选择要加载的模型: "
select model_choice in "${models[@]}"; do
    if [[ -n "$model_choice" ]]; then
        echo "
✅ 您选择了: $model_choice"
        break
    else
        echo "
❌ 无效的选择，请重新输入。"
    fi
done

# --- 步骤 2: 创建符号链接 ---
echo "
🔗 正在创建指向 ${model_choice} 的符号链接 (model.gguf)..."
ln -sf "${model_choice}" model.gguf

# --- 步骤 3: 准备并执行 llama-cli ---

# 核心参数列表。让 llama-cli 自动处理聊天模板。
declare -a PARAMS_ARRAY=(
    -m ./model.gguf
    -c 4096
    -b 256
    -t 16
    --gpu-layers 10  # 一个对弱GPU合理的偏好设置
    --color
)

echo "
🚀 正在启动 llama-cli..."

./llama-cli "${PARAMS_ARRAY[@]}"
